每一個元件都有自己的生命週期(Lifecycle),
當元件被建立、掛載到畫面、資料變化、最後被移除時,Vue 都會在這些階段呼叫特定的 hooks,而我們就能在這些 hook 裡撰寫程式。
Vue 元件的生命週期可以分成四個階段:建立 → 掛載 → 更新 → 銷毀,以下是各階段所對應的 composition API 的 hooks
<script setup>
import { ref, onMounted, onUpdated, onUnmounted } from 'vue'
const count = ref(0)
onMounted(() => {
console.log('✅ 元件掛載完成')
})
onUpdated(() => {
console.log('♻️ 畫面更新完成,目前 count =', count.value)
})
onUnmounted(() => {
console.log('🧹 元件已銷毀,清除資源')
})
</script>
<template>
<div class="life-demo">
<p>目前數字:{{ count }}</p>
<button @click="count++">點我加一</button>
</div>
</template>
看完了範例突然浮現了一個疑問,難道所有元件都需要生命週期嗎?看來不是的,靜態物件的話就不需要用到生命週期,只有在有動態行為時才需要使用到。
小結
- 生命週期概念
- 生命週期範例與小小疑惑